<?php
include("MainImport.php");

class Reporte extends ObjetoPersistente {
    private $id;
    private $descripcion;
    private $ubicacion;
    private $usuario;
    private $enteGub;
    private $fecha;


    public function __construct(ReporteDano $repD, Usuario $usuario, EnteGubernemental $enteG) {            
        $this->id = $repD->getId();
        $this->descripcion = $repD->getDescripcion();
        $this->ubicacion = $repD->getUbicacion();
        $this->usuario = $usuario;
        $this->enteGub = $enteG;

        $date = getdate();

        $this->fecha = "$date[year]-$date[mon]-$date[mday]";
    }


    public function analizarDescripcion() {
        $palInteres = BD::getBD()->getListaPalabras();

        $encontrados = "";

        $texto = strtolower($this->descripcion);

        $texto = TextAnalizer::elimina_acentos($texto);

        foreach($palInteres as $i => $palabra) {
            if(strpos($texto, $palabra)!== false) {
                $encontrados = $encontrados.$palabra.", ";
            }
        }

        $this->descripcion = "<p><b>Palabras Clave Encontradas:</b> <font color=\"#FF2020\">".$encontrados."</font></p>".$this->descripcion;

        return $encontrados;
    }



    public function getId() {
        return $id;
    }

    public function setId($id) {
        $this->id = $id;
    }




    public function getDescripcion() {
        return $this->descripcion;
    }

    public function setDescripcion($descripcion) {
        $this->descripcion = $descripcion;
    }




    public function getUbicacion() {
        return $this->ubicacion;
    }

    public function setUbicacion($ubicacion) {
        $this->ubicacion = $ubicacion;
    }




    public function getUsuario() {
        return $this->user;
    }

    public function setUsuario(Usuario $user) {
        $this->user = $user;
    }



    public function getEnteGub() {
        return $this->enteGub;
    }

    public function setEnteGub(EnteGub $enteG) {
        $this->enteGub = $enteG;
    }

    public function getFecha() {
        return $this->fecha;
    }




    public function save() {
        BD::getBD()->salvarReporte($this->descripcion, $this->getFecha() ,$this->ubicacion, $this->usuario->getId());
    }

    public function delete() {
        throw new Exception('No Soportado');
    }

}

?>
